Skip to content

Overhaul IPFS Troubleshooting guides with new content and structure #2046

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 13 commits into
base: main
Choose a base branch
from

Conversation

2color
Copy link
Member

@2color 2color commented May 22, 2025

What

  • Overhaul the troubleshooting guides into a new high level guide

2color added 2 commits May 22, 2025 17:16
Copy link
Contributor

github-actions bot commented May 22, 2025

🚀 Build Preview on IPFS ready

@2color 2color changed the title overhaul troubleshooting Overhaul IPFS Troubleshooting guides with new content and structure Jun 2, 2025

## File transfers

To start, make sure that Kubo is running on both machines. To verify, run `ipfs id` on each machine and check if the `Addresses` field has anything in it. If it says `null`, then your node is not online, and you will need to run `ipfs daemon`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2])
Suggestions: ID
Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2
Category: CASING


### Checking for existing connections

The first thing to do is to double-check that both nodes are, in fact, running and online. To do this, run `ipfs id` on each machine. If both nodes show some addresses (like the example below), then your nodes are online.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2])
Suggestions: ID
Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2
Category: CASING


If you see a lot of multiaddrs, you can try to use the `ipfs swarm connect <multiaddr>` command to connect to `node a` from `node b`. This command will return a list of NAT traversal methods that your node supports. If your node supports UPnP or NAT-PMP, you can try to enable them on the router of `node a` and retry the process. Otherwise, you can try manually connecting `node a` to `node b`.

### Checking connectivity with the identify protocol
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
The verb ‘identify’ does not usually follow articles like ‘the’. Check that ‘identify’ is spelled correctly; using ‘identify’ as a noun may be non-standard. (A_INFINITIVE[2])
Suggestions: to identify, they identify
URL: https://languagetool.org/insights/post/verbs-as-nouns/
Rule: https://community.languagetool.org/rule/show/A_INFINITIVE?lang=en-US&subId=2
Category: GRAMMAR


### Checking connectivity with the identify protocol

To check if your node can connect to `node a`, try running the `ipfs id <peerId>` command: with the peer ID of `node a` on `node b`:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2])
Suggestions: ID
Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2
Category: CASING

To check if your node can connect to `node a`, try running the `ipfs id <peerId>` command: with the peer ID of `node a` on `node b`:

```shell
ipfs id <peerId>
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
This abbreviation for “identification” is spelled all-uppercase. (ID_CASING[2])
Suggestions: ID
Rule: https://community.languagetool.org/rule/show/ID_CASING?lang=en-US&subId=2
Category: CASING

1. goroutine dump:

```shell
curl localhost:5001/debug/pprof/goroutine\?debug=2 > ipfs.stacks
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
If a new sentence starts here, add a space and start with an uppercase letter. (LC_AFTER_PERIOD[1])
Suggestions: Stacks, stacks
Rule: https://community.languagetool.org/rule/show/LC_AFTER_PERIOD?lang=en-US&subId=1
Category: CASING

1. heap trace dump:

```shell
curl localhost:5001/debug/pprof/heap > ipfs.heap
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
If a new sentence starts here, add a space and start with an uppercase letter. (LC_AFTER_PERIOD[1])
Suggestions: Heap, heap
Rule: https://community.languagetool.org/rule/show/LC_AFTER_PERIOD?lang=en-US&subId=1
Category: CASING

1. memory statistics. In JSON see `memstats` object:

```shell
curl localhost:5001/debug/vars > ipfs.vars
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
If a new sentence starts here, add a space and start with an uppercase letter. (LC_AFTER_PERIOD[1])
Suggestions: Vars, vars
Rule: https://community.languagetool.org/rule/show/LC_AFTER_PERIOD?lang=en-US&subId=1
Category: CASING


### Analyzing the CPU Profile

The go team wrote an [excellent article on profiling go programs](http://blog.golang.org/profiling-go-programs). If you've already gathered the above information, you can skip down to where they start talking about `go tool pprof`. My go-to method of analyzing these is to run the `web` command, which generates an SVG dotgraph and opens it in your browser. This is the quickest way to easily point out where the hot spots in the code are.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[LanguageTool] reported by reviewdog 🐶
The verb ‘is’ is singular. Did you mean: “this is” or “these are”? (SINGULAR_VERB_AFTER_THESE_OR_THOSE[1])
Suggestions: this is, these are
Rule: https://community.languagetool.org/rule/show/SINGULAR_VERB_AFTER_THESE_OR_THOSE?lang=en-US&subId=1
Category: GRAMMAR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant